from peewee import CharField, DateTimeField, TextField, IntegerField
from playhouse.mysql_ext import JSONField

from application.db import get_database_connection
from application.db.mysql_db.base_mysql_model import BaseMysqlModel


class CnArticleAuthorList(BaseMysqlModel):
    """中文文献库作者列表"""
    author_id = CharField(max_length=32)  # 作者ID，cnau+入库时间(14位年月日时分秒+6位微秒)+6位随机数组成的30位字符串
    author_name = CharField(max_length=255, index=True)  # 作者姓名
    author_name_eng = CharField(max_length=255, null=True)  # 作者英文名，对于外籍作者与author_name字段同值
    last_name = JSONField(null=True)  # 作者姓氏，格式如{"chi":"中文姓氏", "eng":"英文姓氏"}
    fore_name = JSONField(null=True)  # 作者名字，格式如{"chi":"中文名字", "eng":"英文名字"}
    author_desc = TextField()  # 作者简介
    author_type = CharField(max_length=32, default='person')  # 作者类型，取值["person"(自然人), "unit"(单位)]，主要用于区分指南等类型文献，用单位作为作者署名的情况
    
    class Meta:
        table_name = 'cn_article_author_list'
        database = get_database_connection('default')  # 使用默认数据库

if __name__ == '__main__':
    #
    data=CnArticleAuthorList.select().dicts()
    for i in data:
        print(i)
        break